Как сделать ёлку, если ты математик

Поздравляю Хабр и Хаброжителей с Новым 2021 годом и дарю всем нам вот такую незатейливую и приятную Функциональную Ёлку (fЁлка). В этой статье я рассказываю как сделать ёлочку на мониторе за 10 минут. Свою вторую статью я посвящу тому, как «слепить» снеговика, положить подарки под ёлку и всё это припорошить сверху снегом.

Базовая идея

Весь рисунок — это набор математических функций от двух аргументов, x и y. Все они так или иначе базируются на SDF. Для рисования графиков использовался desmos.com.

Базовые функции

Ограничение нуля

Эллипс

Ёлка

Опишем основу ёлки

Добавим ветви

Пригнём кончики ветвей к земле

Ограничим ель сверху

Ель съехала вниз, это исправится позднее

Параллельный ход: ограничение снизу

Ограничитель

Итог данного этапа

Комбинируем

Финальный штрих

Займёмся стволом

Эллипс с более острыми углами

Объединение объектов

Объединение, пересечение и вырезание базируются на простейшей операции min(a, b). В зависимости от знаков перед a и b получаются различные булевы операции.

Листва —

Читать далее